// ============================== 导入依赖 ============================== //

import { Loading } from 'element-ui'

let LOADING = null // 遮罩层
const QUEUE = [] // 异步队列
const CONFIG = { lock: true, background: 'rgba(0, 0, 0, 0.05)' }

// ============================== 导出加载工具 ============================== //

export default {
  /**
   * 开始加载
   */
  loading() {
    QUEUE.push('')

    if (!LOADING) LOADING = Loading.service(CONFIG)
  },

  /**
   * 停止加载
   */
  unloading() {
    if (!QUEUE.length) return
    QUEUE.pop()

    setTimeout(() => {
      if (!QUEUE.length && LOADING) {
        LOADING.close()
        LOADING = null
      }
    }, 100)
  },
}
